package com.junlt.p2p.httpmanage.simplehttp;


import com.google.gson.Gson;
import com.junlt.p2p.entity.HomeSearchInvestListBean;
import com.junlt.p2p.ui.base.BaseRxAppCompatActivity;

import io.reactivex.Observable;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import retrofit2.Retrofit;

/**
 * Created by tj on 2018/1/3.
 */

public class SubjectPostApi extends BaseApi {
    //    接口需要传入的参数 可自定义不同类型
    private boolean all;
    /*任何你先要传递的参数*/
//    String xxxxx;

    /**
     * 默认初始化需要给定回调和rx周期类
     * 可以额外设置请求设置加载框显示，回调等（可扩展）
     * @param listener
     * @param baseRxAppCompatActivity
     */
    public SubjectPostApi(HttpOnNextListener listener, BaseRxAppCompatActivity baseRxAppCompatActivity) {
        super(listener, baseRxAppCompatActivity);
        setShowProgress(true);
        setCancel(true);
        setCache(true);
        setMothed("AppFiftyToneGraph/videoLink");
        setCookieNetWorkTime(60);
        setCookieNoNetWorkTime(24*60*60);
    }

    //通过getObservable实现service中定义的接口方法
    //通过传入的Retrofit对象，可以随意切换挑选Service对象，得到定义的注解方法，初始完成以后返回Observable对象。
    @Override
    public Observable getObservable(Retrofit retrofit) {
        HttpPostService retrofitService = retrofit.create(HttpPostService.class);
        HomeSearchInvestListBean homeSearchInvestListBean = new HomeSearchInvestListBean("1", 1, 3, "50", "0", "");
        Gson gson=new Gson();
        String route= gson.toJson(homeSearchInvestListBean);//通过Gson将Bean转化为Json字符串形式
        RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), route);
        return retrofitService.getHomeList(requestBody);
    }

}
